Field of the Invention
The present invention relates to the field of component interoperation in a service component architecture (SCA) and more particularly mediation and adaptation SCA components.
Description of the Related Art
The Service-Oriented Architecture (SOA) is a framework that combines individual business functions and processes, referred to in the art as “services”, to implement sophisticated business applications and processes. In an SOA framework, relatively coarse-grained business components are exposed as services. SOA structures information technology assets as a series of reusable services, which are loosely coupled and are platform-neutral and implementation-neutral. The SOA framework designs solutions as assemblies of services, which are connected through well-specified interfaces and contracts.
The Service Component Architecture (SCA) is a specification that describes a model for building applications and systems using SOA and simplifies application development and implementation developed using SOA. In this regard, the SCA provides a mechanism to build coarse-grained components as assemblies of fine-grained components. Consequently, the SCA relieves programmers from the complexity of traditional middleware programming by abstracting it from business logic. SCA further allows developers to focus on writing business logic and can free those developers from the need to spend significant programming and design cycles on more low-level implementation techniques.
An SCA module is the largest composition of tightly-coupled components that are developed and deployed together into an SCA system. The SCA module is the basic unit of a loosely-coupled composition within an SCA system. Generally, an SCA module contains a set of components, external services, entry points, and the wires that interconnect those components, services and entry points. Modules in turn contribute service implementations to the SCA system. Entry points define the public services provided by the module, which can either be used by other components within the same module or which can be made available for use outside the module. These are used to publish services provided by a module using a specified binding. External services within a module, by comparison, represent remote services provided by other modules and are external to the SCA module that uses the service. These external services can be accessed by components within the module like any service provided by an SCA component and external services use bindings to describe the access to external services.
Common modules requisite to an SCA system include both mediator and adapter modules. Mediation modules are SCA modules that can change the protocol, the format, content or target of service requests. Mediation modules operate on messages that are in flight between service requesters and service providers that use different communication protocols and allow for the routing of messages to different service providers. Mediation modules also can transform messages through the amendment of message content or form. In addition, mediation modules can provide functions such as message logging, and error processing tailored to designer requirements. In contrast, Adaptation modules are SCA modules that only bridge incompatible communication protocols and data formats between service requestors and service providers.
Traditionally, the SCA lends itself to the separate existence of mediation and adaptation modules such that each can be developed independently of one another and each can be maintained and modified independently of one another. However, the performance of an SCA system utilizing separate and independent mediation and adaptation modules falls far short of the case where the adaptation and mediation logic were included in a single component. Notwithstanding, to include the adaptation and mediation logic in a single component renders the ability to maintain each function independently null and void.